# coding = utf8
class BasePage:
    """基础Page层，封装一些常用方法（基础层）
    """
    def __init__(self, driver):
        self.driver = driver

    # 打开页面,它既不是0，也不是False，也不是空字符串。None 表示更多的是一种不存在，是真正为空
    def open_url(self, url=None):
        if url is None:
            self.driver.get(self.url)
        else:
            self.driver.get(url)

    # id定位
    def by_id(self, id):
        return self.driver.find_element_by_id(id)

    # class定位
    def by_class(self, classname):
        return self.driver.find_element_by_class_name(classname)

    #name
    def by_name(self, byname):
        return self.driver.find_element_by_name(byname)

    # XPath定位
    def by_xpath(self, xpath):
        return self.driver.find_element_by_xpath(xpath)
    # css定位
    def by_css(self, css):
        return self.driver.find_element_by_css_selector(css)

    # 获取页面text,仅使用xpath定位
    def get_xtext(self, xpath):
        return self.by_xpath(xpath).text

  # 获取页面text,仅使用name定位
    def get_xname(self, username):
        return self.by_name(username).text
  #获取页面属性的值
def get_getattr(self, username):
    return self.by_css(username).get_attribute()